home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.31-14 / Kbuild next >
Text File  |  2009-09-09  |  2KB  |  99 lines

  1. #
  2. # Kbuild for top-level directory of the kernel
  3. # This file takes care of the following:
  4. # 1) Generate bounds.h
  5. # 2) Generate asm-offsets.h (may need bounds.h)
  6. # 3) Check for missing system calls
  7.  
  8. #####
  9. # 1) Generate bounds.h
  10.  
  11. bounds-file := include/linux/bounds.h
  12.  
  13. always  := $(bounds-file)
  14. targets := $(bounds-file) kernel/bounds.s
  15.  
  16. quiet_cmd_bounds = GEN     $@
  17. define cmd_bounds
  18.     (set -e; \
  19.      echo "#ifndef __LINUX_BOUNDS_H__"; \
  20.      echo "#define __LINUX_BOUNDS_H__"; \
  21.      echo "/*"; \
  22.      echo " * DO NOT MODIFY."; \
  23.      echo " *"; \
  24.      echo " * This file was generated by Kbuild"; \
  25.      echo " *"; \
  26.      echo " */"; \
  27.      echo ""; \
  28.      sed -ne $(sed-y) $<; \
  29.      echo ""; \
  30.      echo "#endif" ) > $@
  31. endef
  32.  
  33. # We use internal kbuild rules to avoid the "is up to date" message from make
  34. kernel/bounds.s: kernel/bounds.c FORCE
  35.     $(Q)mkdir -p $(dir $@)
  36.     $(call if_changed_dep,cc_s_c)
  37.  
  38. $(obj)/$(bounds-file): kernel/bounds.s Kbuild
  39.     $(Q)mkdir -p $(dir $@)
  40.     $(call cmd,bounds)
  41.  
  42. #####
  43. # 2) Generate asm-offsets.h
  44. #
  45.  
  46. offsets-file := include/asm/asm-offsets.h
  47.  
  48. always  += $(offsets-file)
  49. targets += $(offsets-file)
  50. targets += arch/$(SRCARCH)/kernel/asm-offsets.s
  51.  
  52.  
  53. # Default sed regexp - multiline due to syntax constraints
  54. define sed-y
  55.     "/^->/{s:->#\(.*\):/* \1 */:; \
  56.     s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \
  57.     s:->::; p;}"
  58. endef
  59.  
  60. quiet_cmd_offsets = GEN     $@
  61. define cmd_offsets
  62.     (set -e; \
  63.      echo "#ifndef __ASM_OFFSETS_H__"; \
  64.      echo "#define __ASM_OFFSETS_H__"; \
  65.      echo "/*"; \
  66.      echo " * DO NOT MODIFY."; \
  67.      echo " *"; \
  68.      echo " * This file was generated by Kbuild"; \
  69.      echo " *"; \
  70.      echo " */"; \
  71.      echo ""; \
  72.      sed -ne $(sed-y) $<; \
  73.      echo ""; \
  74.      echo "#endif" ) > $@
  75. endef
  76.  
  77. # We use internal kbuild rules to avoid the "is up to date" message from make
  78. arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \
  79.                                       $(obj)/$(bounds-file) FORCE
  80.     $(Q)mkdir -p $(dir $@)
  81.     $(call if_changed_dep,cc_s_c)
  82.  
  83. $(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s Kbuild
  84.     $(call cmd,offsets)
  85.  
  86. #####
  87. # 3) Check for missing system calls
  88. #
  89.  
  90. quiet_cmd_syscalls = CALL    $<
  91.       cmd_syscalls = $(CONFIG_SHELL) $< $(CC) $(c_flags)
  92.  
  93. PHONY += missing-syscalls
  94. missing-syscalls: scripts/checksyscalls.sh FORCE
  95.     $(call cmd,syscalls)
  96.  
  97. # Delete all targets during make clean
  98. clean-files := $(addprefix $(objtree)/,$(filter-out $(bounds-file) $(offsets-file),$(targets)))
  99.